Adapt to GtkTreeSelection changes
authorHavoc Pennington <hp@redhat.com>
Mon, 1 Jan 2001 19:01:54 +0000 (19:01 +0000)
committerHavoc Pennington <hp@src.gnome.org>
Mon, 1 Jan 2001 19:01:54 +0000 (19:01 +0000)
2001-01-01  Havoc Pennington  <hp@redhat.com>

* gtk/gtktreeview.c: Adapt to GtkTreeSelection changes

* gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
don't fill in tree_view->priv->selection, kind of an unexpected
side effect

* gtk/gtkcellrenderertext.c: Remove definition of _ and include
gtkintl.h

* gtk/gtkcellrenderer.c: Remove definition of _ and include
gtkintl.h
(gtk_cell_renderer_get_property): remove calls to g_value_init

* gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
gtkintl.h

* gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
and include gtkintl.h
(gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
property names

* gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
GtkTreeSelection
(_gtk_tree_selection_new_from_with_view): rename, return
GtkTreeSelection
(_gtk_tree_selection_set_tree_view): rename with uscore
(gtk_tree_selection_get_selected): fill in the "model" out param
first, so it gets filled in even if we return at the top of the
function
(gtk_tree_selection_real_select_all): add a comment and an else{}
to clarify this a bit
(gtk_tree_selection_real_unselect_all): add the same else{}

* gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
set_tree_view to have underscore prefixes, move them to the
private header, fix return type of new_with_tree_view
(struct _GtkTreeSelection): mark struct
fields private

* gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
GtkTreeModelFlags, not a guint
(gtk_tree_path_prev): return gboolean not gint
(gtk_tree_path_up): return gboolean not gint

* gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
return GtkTreeModelFlags, not a guint

* gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
that child model is non-null before unrefing it
(g_value_int_compare_func): make this a qsort compare func, not
a boolean predicate

* gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
(add -umn to the end), and mark it unimplemented
(gtk_tree_model_sort_resort): remove, this wasn't implemented, and
I don't see what it's for - doesn't the model always sort itself?
(gtk_tree_model_sort_set_compare): this had the wrong signature

* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
Fix the docs to say that it destructively replaces existing
attributes (previously said that it added attributes).
(gtk_tree_view_column_set_visible): canonicalize bool before
equality testing. Also, check for realization before
hiding/showing the tree_column->window; if this window could exist
before realization, then it's busted and needs fixing, we can't
create GDK resources pre-realization. Also, remove
superfluous queue_resize(), since set_size() does that for us.
(gtk_tree_view_column_set_col_type): check realization before
using tree_column->window

* gtk/gtktreedatalist.c: fix filename in copyright notice

21 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkcellrenderer.c
gtk/gtkcellrendererpixbuf.c
gtk/gtkcellrenderertext.c
gtk/gtkcellrenderertextpixbuf.c
gtk/gtktreedatalist.c
gtk/gtktreemodel.c
gtk/gtktreemodel.h
gtk/gtktreemodelsort.c
gtk/gtktreemodelsort.h
gtk/gtktreeprivate.h
gtk/gtktreeselection.c
gtk/gtktreeselection.h
gtk/gtktreeview.c
gtk/gtktreeviewcolumn.c

index c836c397517463afbaa88501c6f7f3b0a9b5b5bc..aa0d86b73fe0d23bba4825d96d864b653acb82c2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,77 @@
+2001-01-01  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
+       
+       * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
+       don't fill in tree_view->priv->selection, kind of an unexpected
+       side effect
+
+       * gtk/gtkcellrenderertext.c: Remove definition of _ and include
+       gtkintl.h
+       
+       * gtk/gtkcellrenderer.c: Remove definition of _ and include
+       gtkintl.h
+       (gtk_cell_renderer_get_property): remove calls to g_value_init
+
+       * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
+       gtkintl.h
+
+       * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
+       and include gtkintl.h
+       (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
+       property names
+
+       * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_new_from_with_view): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_set_tree_view): rename with uscore
+       (gtk_tree_selection_get_selected): fill in the "model" out param
+       first, so it gets filled in even if we return at the top of the 
+       function
+       (gtk_tree_selection_real_select_all): add a comment and an else{}
+       to clarify this a bit
+       (gtk_tree_selection_real_unselect_all): add the same else{}
+
+       * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
+       set_tree_view to have underscore prefixes, move them to the
+       private header, fix return type of new_with_tree_view
+       (struct _GtkTreeSelection): mark struct
+       fields private  
+
+       * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
+       GtkTreeModelFlags, not a guint
+       (gtk_tree_path_prev): return gboolean not gint
+       (gtk_tree_path_up): return gboolean not gint
+
+       * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
+       return GtkTreeModelFlags, not a guint
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
+       that child model is non-null before unrefing it
+       (g_value_int_compare_func): make this a qsort compare func, not 
+       a boolean predicate
+
+       * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
+       (add -umn to the end), and mark it unimplemented
+       (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
+       I don't see what it's for - doesn't the model always sort itself?
+       (gtk_tree_model_sort_set_compare): this had the wrong signature
+
+       * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
+       Fix the docs to say that it destructively replaces existing
+       attributes (previously said that it added attributes).
+       (gtk_tree_view_column_set_visible): canonicalize bool before
+       equality testing. Also, check for realization before
+       hiding/showing the tree_column->window; if this window could exist
+       before realization, then it's busted and needs fixing, we can't 
+       create GDK resources pre-realization. Also, remove
+       superfluous queue_resize(), since set_size() does that for us.
+       (gtk_tree_view_column_set_col_type): check realization before 
+       using tree_column->window
+
+       * gtk/gtktreedatalist.c: fix filename in copyright notice
+
 2000-12-31  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextview.c: Rearrange all the
index c836c397517463afbaa88501c6f7f3b0a9b5b5bc..aa0d86b73fe0d23bba4825d96d864b653acb82c2 100644 (file)
@@ -1,3 +1,77 @@
+2001-01-01  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
+       
+       * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
+       don't fill in tree_view->priv->selection, kind of an unexpected
+       side effect
+
+       * gtk/gtkcellrenderertext.c: Remove definition of _ and include
+       gtkintl.h
+       
+       * gtk/gtkcellrenderer.c: Remove definition of _ and include
+       gtkintl.h
+       (gtk_cell_renderer_get_property): remove calls to g_value_init
+
+       * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
+       gtkintl.h
+
+       * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
+       and include gtkintl.h
+       (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
+       property names
+
+       * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_new_from_with_view): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_set_tree_view): rename with uscore
+       (gtk_tree_selection_get_selected): fill in the "model" out param
+       first, so it gets filled in even if we return at the top of the 
+       function
+       (gtk_tree_selection_real_select_all): add a comment and an else{}
+       to clarify this a bit
+       (gtk_tree_selection_real_unselect_all): add the same else{}
+
+       * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
+       set_tree_view to have underscore prefixes, move them to the
+       private header, fix return type of new_with_tree_view
+       (struct _GtkTreeSelection): mark struct
+       fields private  
+
+       * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
+       GtkTreeModelFlags, not a guint
+       (gtk_tree_path_prev): return gboolean not gint
+       (gtk_tree_path_up): return gboolean not gint
+
+       * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
+       return GtkTreeModelFlags, not a guint
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
+       that child model is non-null before unrefing it
+       (g_value_int_compare_func): make this a qsort compare func, not 
+       a boolean predicate
+
+       * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
+       (add -umn to the end), and mark it unimplemented
+       (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
+       I don't see what it's for - doesn't the model always sort itself?
+       (gtk_tree_model_sort_set_compare): this had the wrong signature
+
+       * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
+       Fix the docs to say that it destructively replaces existing
+       attributes (previously said that it added attributes).
+       (gtk_tree_view_column_set_visible): canonicalize bool before
+       equality testing. Also, check for realization before
+       hiding/showing the tree_column->window; if this window could exist
+       before realization, then it's busted and needs fixing, we can't 
+       create GDK resources pre-realization. Also, remove
+       superfluous queue_resize(), since set_size() does that for us.
+       (gtk_tree_view_column_set_col_type): check realization before 
+       using tree_column->window
+
+       * gtk/gtktreedatalist.c: fix filename in copyright notice
+
 2000-12-31  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextview.c: Rearrange all the
index c836c397517463afbaa88501c6f7f3b0a9b5b5bc..aa0d86b73fe0d23bba4825d96d864b653acb82c2 100644 (file)
@@ -1,3 +1,77 @@
+2001-01-01  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
+       
+       * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
+       don't fill in tree_view->priv->selection, kind of an unexpected
+       side effect
+
+       * gtk/gtkcellrenderertext.c: Remove definition of _ and include
+       gtkintl.h
+       
+       * gtk/gtkcellrenderer.c: Remove definition of _ and include
+       gtkintl.h
+       (gtk_cell_renderer_get_property): remove calls to g_value_init
+
+       * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
+       gtkintl.h
+
+       * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
+       and include gtkintl.h
+       (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
+       property names
+
+       * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_new_from_with_view): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_set_tree_view): rename with uscore
+       (gtk_tree_selection_get_selected): fill in the "model" out param
+       first, so it gets filled in even if we return at the top of the 
+       function
+       (gtk_tree_selection_real_select_all): add a comment and an else{}
+       to clarify this a bit
+       (gtk_tree_selection_real_unselect_all): add the same else{}
+
+       * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
+       set_tree_view to have underscore prefixes, move them to the
+       private header, fix return type of new_with_tree_view
+       (struct _GtkTreeSelection): mark struct
+       fields private  
+
+       * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
+       GtkTreeModelFlags, not a guint
+       (gtk_tree_path_prev): return gboolean not gint
+       (gtk_tree_path_up): return gboolean not gint
+
+       * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
+       return GtkTreeModelFlags, not a guint
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
+       that child model is non-null before unrefing it
+       (g_value_int_compare_func): make this a qsort compare func, not 
+       a boolean predicate
+
+       * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
+       (add -umn to the end), and mark it unimplemented
+       (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
+       I don't see what it's for - doesn't the model always sort itself?
+       (gtk_tree_model_sort_set_compare): this had the wrong signature
+
+       * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
+       Fix the docs to say that it destructively replaces existing
+       attributes (previously said that it added attributes).
+       (gtk_tree_view_column_set_visible): canonicalize bool before
+       equality testing. Also, check for realization before
+       hiding/showing the tree_column->window; if this window could exist
+       before realization, then it's busted and needs fixing, we can't 
+       create GDK resources pre-realization. Also, remove
+       superfluous queue_resize(), since set_size() does that for us.
+       (gtk_tree_view_column_set_col_type): check realization before 
+       using tree_column->window
+
+       * gtk/gtktreedatalist.c: fix filename in copyright notice
+
 2000-12-31  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextview.c: Rearrange all the
index c836c397517463afbaa88501c6f7f3b0a9b5b5bc..aa0d86b73fe0d23bba4825d96d864b653acb82c2 100644 (file)
@@ -1,3 +1,77 @@
+2001-01-01  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
+       
+       * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
+       don't fill in tree_view->priv->selection, kind of an unexpected
+       side effect
+
+       * gtk/gtkcellrenderertext.c: Remove definition of _ and include
+       gtkintl.h
+       
+       * gtk/gtkcellrenderer.c: Remove definition of _ and include
+       gtkintl.h
+       (gtk_cell_renderer_get_property): remove calls to g_value_init
+
+       * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
+       gtkintl.h
+
+       * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
+       and include gtkintl.h
+       (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
+       property names
+
+       * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_new_from_with_view): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_set_tree_view): rename with uscore
+       (gtk_tree_selection_get_selected): fill in the "model" out param
+       first, so it gets filled in even if we return at the top of the 
+       function
+       (gtk_tree_selection_real_select_all): add a comment and an else{}
+       to clarify this a bit
+       (gtk_tree_selection_real_unselect_all): add the same else{}
+
+       * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
+       set_tree_view to have underscore prefixes, move them to the
+       private header, fix return type of new_with_tree_view
+       (struct _GtkTreeSelection): mark struct
+       fields private  
+
+       * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
+       GtkTreeModelFlags, not a guint
+       (gtk_tree_path_prev): return gboolean not gint
+       (gtk_tree_path_up): return gboolean not gint
+
+       * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
+       return GtkTreeModelFlags, not a guint
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
+       that child model is non-null before unrefing it
+       (g_value_int_compare_func): make this a qsort compare func, not 
+       a boolean predicate
+
+       * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
+       (add -umn to the end), and mark it unimplemented
+       (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
+       I don't see what it's for - doesn't the model always sort itself?
+       (gtk_tree_model_sort_set_compare): this had the wrong signature
+
+       * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
+       Fix the docs to say that it destructively replaces existing
+       attributes (previously said that it added attributes).
+       (gtk_tree_view_column_set_visible): canonicalize bool before
+       equality testing. Also, check for realization before
+       hiding/showing the tree_column->window; if this window could exist
+       before realization, then it's busted and needs fixing, we can't 
+       create GDK resources pre-realization. Also, remove
+       superfluous queue_resize(), since set_size() does that for us.
+       (gtk_tree_view_column_set_col_type): check realization before 
+       using tree_column->window
+
+       * gtk/gtktreedatalist.c: fix filename in copyright notice
+
 2000-12-31  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextview.c: Rearrange all the
index c836c397517463afbaa88501c6f7f3b0a9b5b5bc..aa0d86b73fe0d23bba4825d96d864b653acb82c2 100644 (file)
@@ -1,3 +1,77 @@
+2001-01-01  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
+       
+       * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
+       don't fill in tree_view->priv->selection, kind of an unexpected
+       side effect
+
+       * gtk/gtkcellrenderertext.c: Remove definition of _ and include
+       gtkintl.h
+       
+       * gtk/gtkcellrenderer.c: Remove definition of _ and include
+       gtkintl.h
+       (gtk_cell_renderer_get_property): remove calls to g_value_init
+
+       * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
+       gtkintl.h
+
+       * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
+       and include gtkintl.h
+       (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
+       property names
+
+       * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_new_from_with_view): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_set_tree_view): rename with uscore
+       (gtk_tree_selection_get_selected): fill in the "model" out param
+       first, so it gets filled in even if we return at the top of the 
+       function
+       (gtk_tree_selection_real_select_all): add a comment and an else{}
+       to clarify this a bit
+       (gtk_tree_selection_real_unselect_all): add the same else{}
+
+       * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
+       set_tree_view to have underscore prefixes, move them to the
+       private header, fix return type of new_with_tree_view
+       (struct _GtkTreeSelection): mark struct
+       fields private  
+
+       * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
+       GtkTreeModelFlags, not a guint
+       (gtk_tree_path_prev): return gboolean not gint
+       (gtk_tree_path_up): return gboolean not gint
+
+       * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
+       return GtkTreeModelFlags, not a guint
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
+       that child model is non-null before unrefing it
+       (g_value_int_compare_func): make this a qsort compare func, not 
+       a boolean predicate
+
+       * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
+       (add -umn to the end), and mark it unimplemented
+       (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
+       I don't see what it's for - doesn't the model always sort itself?
+       (gtk_tree_model_sort_set_compare): this had the wrong signature
+
+       * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
+       Fix the docs to say that it destructively replaces existing
+       attributes (previously said that it added attributes).
+       (gtk_tree_view_column_set_visible): canonicalize bool before
+       equality testing. Also, check for realization before
+       hiding/showing the tree_column->window; if this window could exist
+       before realization, then it's busted and needs fixing, we can't 
+       create GDK resources pre-realization. Also, remove
+       superfluous queue_resize(), since set_size() does that for us.
+       (gtk_tree_view_column_set_col_type): check realization before 
+       using tree_column->window
+
+       * gtk/gtktreedatalist.c: fix filename in copyright notice
+
 2000-12-31  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextview.c: Rearrange all the
index c836c397517463afbaa88501c6f7f3b0a9b5b5bc..aa0d86b73fe0d23bba4825d96d864b653acb82c2 100644 (file)
@@ -1,3 +1,77 @@
+2001-01-01  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
+       
+       * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
+       don't fill in tree_view->priv->selection, kind of an unexpected
+       side effect
+
+       * gtk/gtkcellrenderertext.c: Remove definition of _ and include
+       gtkintl.h
+       
+       * gtk/gtkcellrenderer.c: Remove definition of _ and include
+       gtkintl.h
+       (gtk_cell_renderer_get_property): remove calls to g_value_init
+
+       * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
+       gtkintl.h
+
+       * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
+       and include gtkintl.h
+       (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
+       property names
+
+       * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_new_from_with_view): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_set_tree_view): rename with uscore
+       (gtk_tree_selection_get_selected): fill in the "model" out param
+       first, so it gets filled in even if we return at the top of the 
+       function
+       (gtk_tree_selection_real_select_all): add a comment and an else{}
+       to clarify this a bit
+       (gtk_tree_selection_real_unselect_all): add the same else{}
+
+       * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
+       set_tree_view to have underscore prefixes, move them to the
+       private header, fix return type of new_with_tree_view
+       (struct _GtkTreeSelection): mark struct
+       fields private  
+
+       * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
+       GtkTreeModelFlags, not a guint
+       (gtk_tree_path_prev): return gboolean not gint
+       (gtk_tree_path_up): return gboolean not gint
+
+       * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
+       return GtkTreeModelFlags, not a guint
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
+       that child model is non-null before unrefing it
+       (g_value_int_compare_func): make this a qsort compare func, not 
+       a boolean predicate
+
+       * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
+       (add -umn to the end), and mark it unimplemented
+       (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
+       I don't see what it's for - doesn't the model always sort itself?
+       (gtk_tree_model_sort_set_compare): this had the wrong signature
+
+       * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
+       Fix the docs to say that it destructively replaces existing
+       attributes (previously said that it added attributes).
+       (gtk_tree_view_column_set_visible): canonicalize bool before
+       equality testing. Also, check for realization before
+       hiding/showing the tree_column->window; if this window could exist
+       before realization, then it's busted and needs fixing, we can't 
+       create GDK resources pre-realization. Also, remove
+       superfluous queue_resize(), since set_size() does that for us.
+       (gtk_tree_view_column_set_col_type): check realization before 
+       using tree_column->window
+
+       * gtk/gtktreedatalist.c: fix filename in copyright notice
+
 2000-12-31  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextview.c: Rearrange all the
index c836c397517463afbaa88501c6f7f3b0a9b5b5bc..aa0d86b73fe0d23bba4825d96d864b653acb82c2 100644 (file)
@@ -1,3 +1,77 @@
+2001-01-01  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
+       
+       * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
+       don't fill in tree_view->priv->selection, kind of an unexpected
+       side effect
+
+       * gtk/gtkcellrenderertext.c: Remove definition of _ and include
+       gtkintl.h
+       
+       * gtk/gtkcellrenderer.c: Remove definition of _ and include
+       gtkintl.h
+       (gtk_cell_renderer_get_property): remove calls to g_value_init
+
+       * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
+       gtkintl.h
+
+       * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
+       and include gtkintl.h
+       (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
+       property names
+
+       * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_new_from_with_view): rename, return
+       GtkTreeSelection
+       (_gtk_tree_selection_set_tree_view): rename with uscore
+       (gtk_tree_selection_get_selected): fill in the "model" out param
+       first, so it gets filled in even if we return at the top of the 
+       function
+       (gtk_tree_selection_real_select_all): add a comment and an else{}
+       to clarify this a bit
+       (gtk_tree_selection_real_unselect_all): add the same else{}
+
+       * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
+       set_tree_view to have underscore prefixes, move them to the
+       private header, fix return type of new_with_tree_view
+       (struct _GtkTreeSelection): mark struct
+       fields private  
+
+       * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
+       GtkTreeModelFlags, not a guint
+       (gtk_tree_path_prev): return gboolean not gint
+       (gtk_tree_path_up): return gboolean not gint
+
+       * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
+       return GtkTreeModelFlags, not a guint
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
+       that child model is non-null before unrefing it
+       (g_value_int_compare_func): make this a qsort compare func, not 
+       a boolean predicate
+
+       * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
+       (add -umn to the end), and mark it unimplemented
+       (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
+       I don't see what it's for - doesn't the model always sort itself?
+       (gtk_tree_model_sort_set_compare): this had the wrong signature
+
+       * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
+       Fix the docs to say that it destructively replaces existing
+       attributes (previously said that it added attributes).
+       (gtk_tree_view_column_set_visible): canonicalize bool before
+       equality testing. Also, check for realization before
+       hiding/showing the tree_column->window; if this window could exist
+       before realization, then it's busted and needs fixing, we can't 
+       create GDK resources pre-realization. Also, remove
+       superfluous queue_resize(), since set_size() does that for us.
+       (gtk_tree_view_column_set_col_type): check realization before 
+       using tree_column->window
+
+       * gtk/gtktreedatalist.c: fix filename in copyright notice
+
 2000-12-31  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextview.c: Rearrange all the
index adb255e67214323cf1abc8060dcf61790890bbec..c9d607874e63bbd10d14626601cb3aa52e32946d 100644 (file)
  */
 
 #include "gtkcellrenderer.h"
-
-#ifndef _
-#define _(x) x
-#endif
+#include "gtkintl.h"
 
 static void gtk_cell_renderer_init       (GtkCellRenderer      *cell);
 static void gtk_cell_renderer_class_init (GtkCellRendererClass *class);
@@ -150,19 +147,15 @@ gtk_cell_renderer_get_property (GObject     *object,
   switch (param_id)
     {
     case PROP_XALIGN:
-      g_value_init (value, G_TYPE_FLOAT);
       g_value_set_float (value, cell->xalign);
       break;
     case PROP_YALIGN:
-      g_value_init (value, G_TYPE_FLOAT);
       g_value_set_float (value, cell->yalign);
       break;
     case PROP_XPAD:
-      g_value_init (value, G_TYPE_INT);
       g_value_set_float (value, cell->xpad);
       break;
     case PROP_YPAD:
-      g_value_init (value, G_TYPE_INT);
       g_value_set_float (value, cell->ypad);
       break;
     default:
@@ -208,7 +201,8 @@ gtk_cell_renderer_get_size (GtkCellRenderer *cell,
                            gint      *height)
 {
   /* It's actually okay to pass in a NULL cell, as we run into that
-   * a lot */
+   * a lot
+   */
   if (cell == NULL)
     return;
   g_return_if_fail (GTK_IS_CELL_RENDERER (cell));
@@ -227,7 +221,8 @@ gtk_cell_renderer_render (GtkCellRenderer *cell,
                          guint            flags)
 {
   /* It's actually okay to pass in a NULL cell, as we run into that
-   * a lot */
+   * a lot
+   */
   if (cell == NULL)
     return;
   g_return_if_fail (GTK_IS_CELL_RENDERER (cell));
@@ -252,7 +247,8 @@ gtk_cell_renderer_event (GtkCellRenderer *cell,
                         guint            flags)
 {
   /* It's actually okay to pass in a NULL cell, as we run into that
-   * a lot */
+   * a lot
+   */
   if (cell == NULL)
     return FALSE;
   g_return_val_if_fail (GTK_IS_CELL_RENDERER (cell), FALSE);
index 4e1b9f58a06c5c77cc1796523b394fd0e98e613a..fa21e59e8cad6c8d7dbcbfe08fcebc2000224f0c 100644 (file)
 
 #include <stdlib.h>
 #include "gtkcellrendererpixbuf.h"
-
-#ifndef _
-#define _(x) x
-#endif
-
+#include "gtkintl.h"
 
 static void gtk_cell_renderer_pixbuf_get_property  (GObject                    *object,
                                                    guint                       param_id,
index f9f81ba3a84ad69da29f0ffd9db0dfdc1ebd27e9..7155010110f3dcf0634c39a76e0a4a0d2e680d10 100644 (file)
 
 #include <stdlib.h>
 #include "gtkcellrenderertext.h"
-
-#ifndef _
-#define _(x) x
-#endif
+#include "gtkintl.h"
 
 static void gtk_cell_renderer_text_init       (GtkCellRendererText      *celltext);
 static void gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class);
index e9563d1d6e5e811869948f106a3436d32aef6d67..712754fcfd5b83a12315e550253604bead5206d1 100644 (file)
 
 #include <stdlib.h>
 #include "gtkcellrenderertextpixbuf.h"
-
-#ifndef _
-#define _(x) x
-#endif
+#include "gtkintl.h"
 
 enum {
   PROP_ZERO,
@@ -132,7 +129,7 @@ gtk_cell_renderer_text_pixbuf_class_init (GtkCellRendererTextPixbufClass *class)
   
   g_object_class_install_property (object_class,
                                   PROP_PIXBUF_XALIGN,
-                                  g_param_spec_float ("pixbuf xalign",
+                                  g_param_spec_float ("pixbuf_xalign",
                                                       _("pixbuf xalign"),
                                                       _("The x-align of the pixbuf."),
                                                       0.0,
@@ -143,7 +140,7 @@ gtk_cell_renderer_text_pixbuf_class_init (GtkCellRendererTextPixbufClass *class)
   
   g_object_class_install_property (object_class,
                                   PROP_PIXBUF_YALIGN,
-                                  g_param_spec_float ("pixbuf yalign",
+                                  g_param_spec_float ("pixbuf_yalign",
                                                       _("pixbuf yalign"),
                                                       _("The y-align of the pixbuf."),
                                                       0.0,
@@ -154,7 +151,7 @@ gtk_cell_renderer_text_pixbuf_class_init (GtkCellRendererTextPixbufClass *class)
   
   g_object_class_install_property (object_class,
                                   PROP_PIXBUF_XPAD,
-                                  g_param_spec_uint ("pixbuf xpad",
+                                  g_param_spec_uint ("pixbuf_xpad",
                                                      _("pixbuf xpad"),
                                                      _("The xpad of the pixbuf."),
                                                      0,
@@ -165,7 +162,7 @@ gtk_cell_renderer_text_pixbuf_class_init (GtkCellRendererTextPixbufClass *class)
   
   g_object_class_install_property (object_class,
                                   PROP_PIXBUF_YPAD,
-                                  g_param_spec_uint ("pixbuf ypad",
+                                  g_param_spec_uint ("pixbuf_ypad",
                                                      _("pixbuf ypad"),
                                                      _("The ypad of the pixbuf."),
                                                      0,
index f2fe36e4e5fc934b2fee9b301ac3165b62ff135b..1e9b7f570c8fde1e3cbada9a4de317238a14617c 100644 (file)
@@ -1,4 +1,4 @@
-/* gtktreedatalist.h
+/* gtktreedatalist.c
  * Copyright (C) 2000  Red Hat, Inc.,  Jonathan Blandford <jrb@redhat.com>
  *
  * This library is free software; you can redistribute it and/or
index 1b71a004cf40da7b2304e2b501d55e14100a2dfe..b3bbaca07daab4ef6595dd6bee4deb1f4c9d1d81 100644 (file)
@@ -77,9 +77,11 @@ gtk_tree_path_new (void)
  * gtk_tree_path_new_from_string:
  * @path: The string representation of a path.
  * 
- * Creates a new #GtkTreePath initialized to @path.  @path is expected to be a
- * colon separated list of numbers.  For example, the string "10:4:0" would
- * create a path of depth 3.
+ * Creates a new #GtkTreePath initialized to @path.  @path is expected
+ * to be a colon separated list of numbers.  For example, the string
+ * "10:4:0" would create a path of depth 3 pointing to the 11th child
+ * of the root node, the 5th child of that 11th child, and the 1st
+ * child of that 5th child.
  * 
  * Return value: A newly created #GtkTreePath.
  **/
@@ -343,7 +345,7 @@ gtk_tree_path_next (GtkTreePath *path)
  * 
  * Return value: TRUE if @path has a previous node, and the move was made.
  **/
-gint
+gboolean
 gtk_tree_path_prev (GtkTreePath *path)
 {
   g_return_val_if_fail (path != NULL, FALSE);
@@ -364,7 +366,7 @@ gtk_tree_path_prev (GtkTreePath *path)
  * 
  * Return value: TRUE if @path has a parent, and the move was made.
  **/
-gint
+gboolean
 gtk_tree_path_up (GtkTreePath *path)
 {
   g_return_val_if_fail (path != NULL, FALSE);
@@ -398,7 +400,7 @@ gtk_tree_path_down (GtkTreePath *path)
  * 
  * Creates a dynamically allocated tree iterator as a copy of @iter.  This
  * function is not intended for use in applications, because you can just copy
- * the structs by value (<literal>GtkTreeIter new_iter = iter;</literal>).  You
+ * the structs by value (GtkTreeIter new_iter = iter;).  You
  * must free this iter with gtk_tree_iter_free ().
  * 
  * Return value: a newly allocated copy of @iter.
@@ -436,13 +438,13 @@ gtk_tree_iter_free (GtkTreeIter *iter)
  * gtk_tree_model_get_flags:
  * @tree_model: A #GtkTreeModel.
  * 
- * Returns a list of flags supported by this interface.  The flags are a bitwise
+ * Returns a set of flags supported by this interface.  The flags are a bitwise
  * combination of #GtkTreeModelFlags.  It is expected that the flags supported
  * do not change for an interface.
  * 
  * Return value: The flags supported by this interface.
  **/
-guint
+GtkTreeModelFlags
 gtk_tree_model_get_flags (GtkTreeModel *tree_model)
 {
   g_return_val_if_fail (tree_model != NULL, 0);
@@ -733,6 +735,7 @@ gtk_tree_model_iter_parent (GtkTreeModel *tree_model,
   return (* GTK_TREE_MODEL_GET_IFACE (tree_model)->iter_parent) (tree_model, iter, child);
 }
 
+/* FIXME explain what the method is supposed to do! */
 /**
  * gtk_tree_model_ref_iter:
  * @tree_model: A #GtkTreeModel.
@@ -753,6 +756,7 @@ gtk_tree_model_ref_iter (GtkTreeModel *tree_model,
     (* GTK_TREE_MODEL_GET_IFACE (tree_model)->ref_iter) (tree_model, iter);
 }
 
+/* FIXME explain what the method is supposed to do! */
 /**
  * gtk_tree_model_unref_iter:
  * @tree_model: A #GtkTreeModel.
index 09495d1ec78766b1fe2079e4fff87256c9770acb..ea2e4a7037d8fe72707f10b4958cf6f8496b65ab 100644 (file)
@@ -76,7 +76,8 @@ struct _GtkTreeModelIface
                                      gint         *new_order);
 
   /* VTable - not signals */
-  guint        (* get_flags)       (GtkTreeModel *tree_model);   
+  GtkTreeModelFlags (* get_flags)  (GtkTreeModel *tree_model);   
+
   gint         (* get_n_columns)   (GtkTreeModel *tree_model);
   GType        (* get_column_type) (GtkTreeModel *tree_model,
                                    gint          index);
@@ -128,8 +129,8 @@ GtkTreePath *gtk_tree_path_copy             (GtkTreePath       *path);
 gint         gtk_tree_path_compare          (const GtkTreePath *a,
                                             const GtkTreePath *b);
 void         gtk_tree_path_next             (GtkTreePath       *path);
-gint         gtk_tree_path_prev             (GtkTreePath       *path);
-gint         gtk_tree_path_up               (GtkTreePath       *path);
+gboolean     gtk_tree_path_prev             (GtkTreePath       *path);
+gboolean     gtk_tree_path_up               (GtkTreePath       *path);
 void         gtk_tree_path_down             (GtkTreePath       *path);
 
 
@@ -138,8 +139,8 @@ GtkTreeIter *gtk_tree_iter_copy             (GtkTreeIter       *iter);
 void         gtk_tree_iter_free             (GtkTreeIter       *iter);
 
 /* GtkTreeModel stuff */
-GtkType      gtk_tree_model_get_type        (void) G_GNUC_CONST;
-guint        gtk_tree_model_get_flags       (GtkTreeModel      *tree_model);
+GtkType           gtk_tree_model_get_type   (void) G_GNUC_CONST;
+GtkTreeModelFlags gtk_tree_model_get_flags  (GtkTreeModel      *tree_model);
 
 /* Column information */
 gint         gtk_tree_model_get_n_columns   (GtkTreeModel      *tree_model);
index 617aa48fb2cb8b08a1fa1109afc8ecce8fcac862..6b5b330a9d6e320f13e5194cb9f16607945d9dde 100644 (file)
@@ -352,7 +352,11 @@ gtk_tree_model_sort_finalize (GObject *object)
   if (tree_model_sort->root)
     gtk_tree_model_sort_free_level (tree_model_sort->root);
 
-  g_object_unref (G_OBJECT (tree_model_sort->child_model));
+  if (tree_model_sort->child_model)
+    {
+      g_object_unref (G_OBJECT (tree_model_sort->child_model));
+      tree_model_sort->child_model = NULL;
+    }
 }
 
 static void
@@ -1135,7 +1139,15 @@ static gint
 g_value_int_compare_func (const GValue *a,
                          const GValue *b)
 {
-  return g_value_get_int (a) < g_value_get_int (b);
+  gint a_int = g_value_get_int (a);
+  gint b_int = g_value_get_int (b);
+
+  if (a_int < b_int)
+    return -1;
+  else if (a_int > b_int)
+    return 1;
+  else
+    return 0;
 }
 
 
index 715b2dd297a05e2539ef54905f84961cc0195489..66a345377556926e6d04dce9e1a7a539b8b8a2b6 100644 (file)
@@ -78,16 +78,17 @@ GtkTreeModel *gtk_tree_model_sort_new_with_model (GtkTreeModel      *child_model
                                                  gint               sort_col);
 void          gtk_tree_model_sort_set_model      (GtkTreeModelSort  *tree_model_sort,
                                                  GtkTreeModel      *model);
-void          gtk_tree_model_sort_set_sort_col   (GtkTreeModelSort  *tree_model_sort,
-                                                 gint               sort_col);
-void          gtk_tree_model_sort_set_compare    (GtkTreeModelSort  *tree_model_sort,
-                                                 GValueCompareFunc *func);
-void          gtk_tree_model_sort_resort         (GtkTreeModelSort  *tree_model_sort);
 GtkTreePath  *gtk_tree_model_sort_convert_path   (GtkTreeModelSort  *tree_model_sort,
                                                  GtkTreePath       *child_path);
-void          gtk_tree_model_sort_convert_iter   (GtkTreeModelSort  *tree_model_sort,
-                                                 GtkTreeIter       *sort_iter,
-                                                 GtkTreeIter       *child_iter);
+
+/* not implemented */
+void          gtk_tree_model_sort_set_sort_column (GtkTreeModelSort  *tree_model_sort,
+                                                   gint               sort_col);
+void          gtk_tree_model_sort_set_compare     (GtkTreeModelSort  *tree_model_sort,
+                                                   GValueCompareFunc  func);
+void          gtk_tree_model_sort_convert_iter    (GtkTreeModelSort  *tree_model_sort,
+                                                   GtkTreeIter       *sort_iter,
+                                                   GtkTreeIter       *child_iter);
 
 #ifdef __cplusplus
 }
index a7b932bebcb2cfd9ad820c4e097ea30335484955..ba3efb4d5e843da1686374ad01a3e11cc8cc5e95 100644 (file)
@@ -182,6 +182,10 @@ void         _gtk_tree_view_set_size                  (GtkTreeView       *tree_v
                                                       gint               height);
 
 
+GtkTreeSelection* _gtk_tree_selection_new                (void);
+GtkTreeSelection* _gtk_tree_selection_new_with_tree_view (GtkTreeView      *tree_view);
+void              _gtk_tree_selection_set_tree_view      (GtkTreeSelection *selection,
+                                                          GtkTreeView      *tree_view);
 
 #ifdef __cplusplus
 }
index 4487f3dc019ab346e15f6fcccc4c99a12a865b01..cb83222dfdd5fd9336aadf3fd8809c2f88144e79 100644 (file)
@@ -31,7 +31,8 @@ static gint gtk_tree_selection_real_select_node  (GtkTreeSelection      *selecti
                                                  GtkRBNode             *node,
                                                  gboolean               select);
 
-enum {
+enum
+{
   SELECTION_CHANGED,
   LAST_SIGNAL
 };
@@ -91,25 +92,25 @@ gtk_tree_selection_init (GtkTreeSelection *selection)
 }
 
 /**
- * gtk_tree_selection_new:
+ * _gtk_tree_selection_new:
  * 
  * Creates a new #GtkTreeSelection object.  This function should not be invoked,
  * as each #GtkTreeView will create it's own #GtkTreeSelection.
  * 
  * Return value: A newly created #GtkTreeSelection object.
  **/
-GtkObject *
-gtk_tree_selection_new (void)
+GtkTreeSelection*
+_gtk_tree_selection_new (void)
 {
-  GtkObject *selection;
+  GtkTreeSelection *selection;
 
-  selection = GTK_OBJECT (gtk_type_new (GTK_TYPE_TREE_SELECTION));
+  selection = GTK_TREE_SELECTION (gtk_type_new (GTK_TYPE_TREE_SELECTION));
 
   return selection;
 }
 
 /**
- * gtk_tree_selection_new_with_tree_view:
+ * _gtk_tree_selection_new_with_tree_view:
  * @tree_view: The #GtkTreeView.
  * 
  * Creates a new #GtkTreeSelection object.  This function should not be invoked,
@@ -117,22 +118,22 @@ gtk_tree_selection_new (void)
  * 
  * Return value: A newly created #GtkTreeSelection object.
  **/
-GtkObject *
-gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view)
+GtkTreeSelection*
+_gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view)
 {
-  GtkObject *selection;
+  GtkTreeSelection *selection;
 
   g_return_val_if_fail (tree_view != NULL, NULL);
   g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), NULL);
 
-  selection = gtk_tree_selection_new ();
-  gtk_tree_selection_set_tree_view (GTK_TREE_SELECTION (selection), tree_view);
+  selection = _gtk_tree_selection_new ();
+  _gtk_tree_selection_set_tree_view (selection, tree_view);
 
   return selection;
 }
 
 /**
- * gtk_tree_selection_set_tree_view:
+ * _gtk_tree_selection_set_tree_view:
  * @selection: A #GtkTreeSelection.
  * @tree_view: The #GtkTreeView.
  * 
@@ -140,8 +141,8 @@ gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view)
  * it is used internally by #GtkTreeView.
  **/
 void
-gtk_tree_selection_set_tree_view (GtkTreeSelection *selection,
-                                 GtkTreeView      *tree_view)
+_gtk_tree_selection_set_tree_view (GtkTreeSelection *selection,
+                                   GtkTreeView      *tree_view)
 {
   g_return_if_fail (selection != NULL);
   g_return_if_fail (GTK_IS_TREE_SELECTION (selection));
@@ -149,9 +150,9 @@ gtk_tree_selection_set_tree_view (GtkTreeSelection *selection,
     g_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
 
   selection->tree_view = tree_view;
-  tree_view->priv->selection = selection;
 }
 
+/* FIXME explain what the anchor is */
 /**
  * gtk_tree_selection_set_type:
  * @selection: A #GtkTreeSelection.
@@ -191,6 +192,8 @@ gtk_tree_selection_set_type (GtkTreeSelection     *selection,
        * all.
        */
       gtk_tree_selection_unselect_all (selection);
+
+      /* FIXME are we properly emitting the selection_changed signal here? */
       if (node && selected)
        GTK_RBNODE_SET_FLAG (node, GTK_RBNODE_IS_SELECTED);
     }
@@ -260,6 +263,9 @@ gtk_tree_selection_get_selected (GtkTreeSelection  *selection,
   g_return_val_if_fail (selection != NULL, FALSE);
   g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), FALSE);
 
+  if (model)
+    *model = selection->tree_view->priv->model;
+  
   if (selection->tree_view->priv->anchor == NULL)
     return FALSE;
   else if (iter == NULL)
@@ -277,9 +283,6 @@ gtk_tree_selection_get_selected (GtkTreeSelection  *selection,
      */
       return FALSE;
 
-  if (model)
-    *model = selection->tree_view->priv->model;
-
   return gtk_tree_model_get_iter (selection->tree_view->priv->model,
                                  iter,
                                  selection->tree_view->priv->anchor);
@@ -555,6 +558,8 @@ gtk_tree_selection_real_select_all (GtkTreeSelection *selection)
       GtkRBTree *tree;
       GtkRBNode *node;
       gint dirty;
+
+      /* Just select the last row */
       
       dirty = gtk_tree_selection_real_unselect_all (selection);
 
@@ -578,23 +583,27 @@ gtk_tree_selection_real_select_all (GtkTreeSelection *selection)
 
       return dirty;
     }
-
-  tuple = g_new (struct _TempTuple, 1);
-  tuple->selection = selection;
-  tuple->dirty = FALSE;
-
-  _gtk_rbtree_traverse (selection->tree_view->priv->tree,
-                       selection->tree_view->priv->tree->root,
-                       G_PRE_ORDER,
-                       select_all_helper,
-                       tuple);
-  if (tuple->dirty)
+  else
     {
+      /* Mark all nodes selected */
+      
+      tuple = g_new (struct _TempTuple, 1);
+      tuple->selection = selection;
+      tuple->dirty = FALSE;
+
+      _gtk_rbtree_traverse (selection->tree_view->priv->tree,
+                            selection->tree_view->priv->tree->root,
+                            G_PRE_ORDER,
+                            select_all_helper,
+                            tuple);
+      if (tuple->dirty)
+        {
+          g_free (tuple);
+          return TRUE;
+        }
       g_free (tuple);
-      return TRUE;
+      return FALSE;
     }
-  g_free (tuple);
-  return FALSE;
 }
 
 /**
@@ -658,24 +667,26 @@ gtk_tree_selection_real_unselect_all (GtkTreeSelection *selection)
        }
       return FALSE;
     }
-
-  tuple = g_new (struct _TempTuple, 1);
-  tuple->selection = selection;
-  tuple->dirty = FALSE;
-
-  _gtk_rbtree_traverse (selection->tree_view->priv->tree,
-                       selection->tree_view->priv->tree->root,
-                       G_PRE_ORDER,
-                       unselect_all_helper,
-                       tuple);
-
-  if (tuple->dirty)
-    {
+  else
+    {  
+      tuple = g_new (struct _TempTuple, 1);
+      tuple->selection = selection;
+      tuple->dirty = FALSE;
+      
+      _gtk_rbtree_traverse (selection->tree_view->priv->tree,
+                            selection->tree_view->priv->tree->root,
+                            G_PRE_ORDER,
+                            unselect_all_helper,
+                            tuple);
+      
+      if (tuple->dirty)
+        {
+          g_free (tuple);
+          return TRUE;
+        }
       g_free (tuple);
-      return TRUE;
+      return FALSE;
     }
-  g_free (tuple);
-  return FALSE;
 }
 
 /**
@@ -774,6 +785,7 @@ gtk_tree_selection_real_select_range (GtkTreeSelection *selection,
                  start_node = start_tree->parent_node;
                  start_tree = start_tree->parent_tree;
                  if (start_tree == NULL)
+                    /* FIXME should this really be silent, or should it g_warning? */
                    /* we've run out of tree */
                    /* This means we never found end node!! */
                    break;
@@ -872,6 +884,9 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection,
 /* FIXME: user_func can screw up GTK_TREE_SELECTION_SINGLE.  If it prevents
  * unselection of a node, it can keep more then one node selected.
  */
+/* Perhaps the correct solution is to prevent selecting the new node, if
+ * we fail to unselect the old node.
+ */
 static gint
 gtk_tree_selection_real_select_node (GtkTreeSelection *selection,
                                     GtkRBTree        *tree,
index e6cc4aa43029aeed82dba55a28cdb1a394b7a1b0..34e8f30009ed52416c4a2eb3f4d80ec4ece1e950 100644 (file)
@@ -52,6 +52,8 @@ struct _GtkTreeSelection
 {
   GtkObject parent;
 
+  /*< private >*/
+  
   GtkTreeView *tree_view;
   GtkTreeSelectionType type;
   GtkTreeSelectionFunc user_func;
@@ -67,8 +69,7 @@ struct _GtkTreeSelectionClass
 
 
 GtkType          gtk_tree_selection_get_type            (void);
-/* FIXME return a GtkTreeSelection */
-GtkObject       *gtk_tree_selection_new                 (void);
+
 void             gtk_tree_selection_set_type            (GtkTreeSelection            *selection,
                                                         GtkTreeSelectionType         type);
 void             gtk_tree_selection_set_select_function (GtkTreeSelection            *selection,
@@ -104,10 +105,6 @@ void             gtk_tree_selection_select_range        (GtkTreeSelection
 
 /*< private >*/
 /* FIXME underscores, return GtkTreeSelection, rename from_tree_view */
-GtkObject       *gtk_tree_selection_new_with_tree_view  (GtkTreeView                 *tree_view);
-void             gtk_tree_selection_set_tree_view       (GtkTreeSelection            *selection,
-                                                        GtkTreeView                 *tree_view);
-
 
 #ifdef __cplusplus
 }
index fbb23e53e320b3d5f1cb6683d0148efbecd39b02..755572afaedad0e20825815c6a2798251eed96bb 100644 (file)
@@ -1227,7 +1227,8 @@ gtk_tree_view_button_press (GtkWidget      *widget,
        }
       /* Handle the selection */
       if (tree_view->priv->selection == NULL)
-       gtk_tree_selection_new_with_tree_view (tree_view);
+       tree_view->priv->selection =
+          _gtk_tree_selection_new_with_tree_view (tree_view);
 
       _gtk_tree_selection_internal_select_node (tree_view->priv->selection,
                                                node,
@@ -1676,7 +1677,8 @@ gtk_tree_view_focus (GtkContainer     *container,
          gtk_widget_grab_focus (GTK_WIDGET (container));
 
          if (tree_view->priv->selection == NULL)
-           gtk_tree_selection_new_with_tree_view (tree_view);
+           tree_view->priv->selection =
+              _gtk_tree_selection_new_with_tree_view (tree_view);
 
          /* if there is no keyboard focus yet, we select the first node
           */
@@ -1707,7 +1709,8 @@ gtk_tree_view_focus (GtkContainer     *container,
       gtk_widget_grab_focus (GTK_WIDGET (container));
 
       if (tree_view->priv->selection == NULL)
-       gtk_tree_selection_new_with_tree_view (tree_view);
+       tree_view->priv->selection =
+          _gtk_tree_selection_new_with_tree_view (tree_view);
 
       if (tree_view->priv->cursor == NULL)
        tree_view->priv->cursor = gtk_tree_path_new_root ();
@@ -3035,7 +3038,8 @@ gtk_tree_view_get_selection (GtkTreeView *tree_view)
   g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), NULL);
 
   if (tree_view->priv->selection == NULL)
-    gtk_tree_selection_new_with_tree_view (tree_view);
+    tree_view->priv->selection =
+      _gtk_tree_selection_new_with_tree_view (tree_view);
 
   return tree_view->priv->selection;
 }
index 11cd719395465d9c13f0752127c4823742ff7ead..9d1676118ec878fb8ce56910a97d45c98a1f234d 100644 (file)
@@ -275,11 +275,12 @@ gtk_tree_view_column_set_attributesv (GtkTreeViewColumn *tree_column,
 /**
  * gtk_tree_view_column_set_attributes:
  * @tree_column: A #GtkTreeViewColumn.
- * @Varargs: A NULL terminated listing of attributes to add.
+ * @Varargs: A NULL terminated listing of attributes.
  * 
- * Adds the attributes in the list the the @tree_column.  The attributes should
- * be in attribute/column order, as in @gtk_tree_view_column_add_attribute.  If
- * the list is empty, then all attributes are removed.
+ * Sets the attributes in the list as the attributes of @tree_column.
+ * The attributes should be in attribute/column order, as in
+ * @gtk_tree_view_column_add_attribute. All existing attributes
+ * are removed, and replaced with the new attributes.
  **/
 void
 gtk_tree_view_column_set_attributes (GtkTreeViewColumn *tree_column,
@@ -357,6 +358,8 @@ gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column,
   g_return_if_fail (tree_column != NULL);
   g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column));
 
+  visible = !! visible;
+  
   if (tree_column->visible == visible)
     return;
 
@@ -365,19 +368,18 @@ gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column,
   if (visible)
     {
       gtk_widget_show (tree_column->button);
-      gdk_window_show (tree_column->window);
+      if (GTK_WIDGET_REALIZED (tree_column->tree_view))
+        gdk_window_show (tree_column->window);
     }
   else
     {
       gtk_widget_hide (tree_column->button);
-      gdk_window_hide (tree_column->window);
+      if (GTK_WIDGET_REALIZED (tree_column->tree_view))
+        gdk_window_hide (tree_column->window);
     }
 
   if (GTK_WIDGET_REALIZED (tree_column->tree_view))
-    {
-      _gtk_tree_view_set_size (GTK_TREE_VIEW (tree_column->tree_view), -1, -1);
-      gtk_widget_queue_resize (tree_column->tree_view);
-    }
+    _gtk_tree_view_set_size (GTK_TREE_VIEW (tree_column->tree_view), -1, -1);
 }
 
 /**
@@ -421,11 +423,15 @@ gtk_tree_view_column_set_col_type (GtkTreeViewColumn     *tree_column,
     case GTK_TREE_VIEW_COLUMN_AUTOSIZE:
       tree_column->dirty = TRUE;
     case GTK_TREE_VIEW_COLUMN_FIXED:
-      gdk_window_hide (tree_column->window);
+      if (GTK_WIDGET_REALIZED (tree_column->tree_view))
+        gdk_window_hide (tree_column->window);
       break;
     default:
-      gdk_window_show (tree_column->window);
-      gdk_window_raise (tree_column->window);
+      if (GTK_WIDGET_REALIZED (tree_column->tree_view))
+        {
+          gdk_window_show (tree_column->window);
+          gdk_window_raise (tree_column->window);
+        }
       break;
     }